/**
 * 记录用户在页面停留时间
 * @type {number}
 */
var second = 0;
window.setInterval(function () {
    second ++;
}, 1000);

/**
 * 获取用户的 refer 信息，并存入 cookie 之中（后面解决页面刷新问题会使用到）。
 */
$.cookie('tjRefer', getReferrer() ,{expires:1,path:'/'});

/**
 * 事件在即将离开当前页面（刷新或关闭）时触发。
 * 该事件可用于弹出对话框，提示用户是继续浏览页面还是离开当前页面。
 */
window.onbeforeunload = function() {
    // event.returnValue = "我在这写点东西...";

    /**
     * 用户刷新页面会导致我们的定时器重置，也就是说如果我们不处理的话，会再次记录这个页面的浏览记录（这是我们不希望看到的），
     * 于是我就想到 用刷新页面时 refer 信息为空来作为判断，我们去读取存到 cookie 中的 refer 信息作为判断条件。
     * 如果用户刷新页面，我们就取出 最后一次 存入 localStorage 中的时间和本次的浏览时间相加，然后在更新最后一次存入的 localStorage 中。
     */
    if($.cookie('tjRefer') == ''){
        var tjT = eval('(' + localStorage.getItem("jsArr") + ')');
        if(tjT){
            tjT[tjT.length-1].time += second;
            var jsArr= JSON.stringify(tjT);
            localStorage.setItem("jsArr", jsArr);
        }
    } else {
        /**
         * 定义存储数据的变量 tjArr ，如果已经存到 localStorage 则从中读取，没有这初始化数据
         * @type {string}
         */
        var tjArr = localStorage.getItem("jsArr") ? localStorage.getItem("jsArr") : '[{}]';

        /**
         * 定义一个JSON用来存储用户浏览数据，用户访问页面url、用户页面停留时间、用户来源页面、用户进入页面时间、用户离开页面时间。
         * @type {{refer: string, time: number, url: string, timeIn: number, timeOut: number}}
         */
        var dataArr = {
            'url' : location.href,
            'time' : second,
            'refer' : getReferrer(),
            'timeIn' :format( Date.parse(new Date())),
            'timeOut' : format(Date.parse(new Date()) + (second * 1000))
        };
        tjArr = eval('(' + tjArr + ')');
        tjArr.push(dataArr);
        tjArr= JSON.stringify(tjArr);
        localStorage.setItem("jsArr", tjArr);
    }
};

/**
 * 用来获取用户来路url 就是告诉人家我是从哪个页面过来的，可以用于统计访问本网站的用户来源，也可以用来防盗链。
 * @returns {string}
 */
function getReferrer() {
    var referrer = '';
    try {
        referrer = window.top.document.referrer;
    } catch(e) {
        if(window.parent) {
            try {
                referrer = window.parent.document.referrer;
            } catch(e2) {
                referrer = '';
            }
        }
    }
    if(referrer === '') {
        referrer = document.referrer;
    }
    return referrer;
}

function format(shijianchuo)
{
//shijianchuo是整数，否则要parseInt转换
    var time = new Date(shijianchuo);
    var y = time.getFullYear();
    var m = time.getMonth()+1;
    var d = time.getDate();
    var h = time.getHours();
    var mm = time.getMinutes();
    var s = time.getSeconds();
    return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}
function add0(m){return m<10?'0'+m:m }

//监听浏览器滚轮，确定用户在第几屏
window.addEventListener("scroll",function (e) {
    //浏览器可视区域高度
    var browser = document.documentElement.clientHeight;
    //页面高度
    // var body = $('body').height();
    //网页被卷起来的距离
    var scroll = $(window).scrollTop();
    //页面有几屏,向上取整
    var num = Math.ceil(scroll/browser);
    if(num==0){
        num=1;
    }
    console.log("你现在在第"+num+"屏");
})